Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JIT: Remove TYP_BOOL #90981

Merged
merged 2 commits into from
Aug 28, 2023
Merged

JIT: Remove TYP_BOOL #90981

merged 2 commits into from
Aug 28, 2023

Conversation

jakobbotsch
Copy link
Member

@jakobbotsch jakobbotsch commented Aug 23, 2023

No diffs locally it seems, let's see for other platforms... (looks like user error)

Fix #90798

Diffs because:

  • Some correctness fixes where optimizebools no longer makes transformations that depend on normalized bools in cases we cannot control
  • Some fewer containments because local morph no longer transforms IND<ubyte>(LCL_ADDR) -> LCL_VAR<int> for bool locals (instead LCL_VAR<bool> is now produced, which causes some diffs wrt. containment)

@ghost ghost assigned jakobbotsch Aug 23, 2023
@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Aug 23, 2023
@ghost
Copy link

ghost commented Aug 23, 2023

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Issue Details

null

Author: jakobbotsch
Assignees: jakobbotsch
Labels:

area-CodeGen-coreclr

Milestone: -

Copy link
Member

@tannergooding tannergooding left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice!

@jakobbotsch
Copy link
Member Author

cc @dotnet/jit-contrib. Diffs.

I want to take a look at the TP regression tomorrow, but I expect it to be something trivial like the C++ compiler changing codegen strategy for varTypeIsByte due to the change there.

@jakobbotsch
Copy link
Member Author

expect it to be something trivial like the C++ compiler changing codegen strategy for varTypeIsByte due to the change there

Yep, if I readd TYP_BOOL to typelist.h and lvIsBoolean to LclVarDsc then the TP regressions disappear, so seems like these changes just cause MSVC to generate slightly longer code sequences for some of the patterns.

@jakobbotsch jakobbotsch merged commit 542a7df into dotnet:main Aug 28, 2023
127 checks passed
@jakobbotsch jakobbotsch deleted the fix-90798 branch August 28, 2023 11:29
@ghost ghost locked as resolved and limited conversation to collaborators Sep 27, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

JIT: Assertion failed '!"Bad CastToType() in gtFoldExprConst() for a cast from long"
2 participants